package com.walle.common.dao;

import java.util.List;
import java.util.Map;

public interface BaseDao<T,V> {
	/**
	 * 
	 * @Description: TODO
	 * @param entity
	 * @return   
	 * @returnn int
	 */
	int insert(T entity);
	/**
	 * 
	 * @Description: TODO
	 * @param entity
	 * @return   
	 * @returnn int
	 */
	int update(T entity);
	/**
	 * 
	 * @Description: TODO
	 * @param id
	 * @return   
	 * @returnn T
	 */
	T getById(V id);
	/**
	 * 
	 * @Description: TODO
	 * @param id
	 * @return   
	 * @returnn int
	 */
	int delete(V id);

	int deleteBy(T entity);
	/**
	 * 
	 * @Description: TODO
	 * @param paramMap
	 * @return   
	 * @returnn List<T>
	 */
    List<T> listPage(Map<String, Object> paramMap) ;
    /**
     * 
     * @Description: TODO
     * @param paramMap
     * @return   
     * @returnn long
     */
	long listPageCount(Map<String, Object> paramMap) ;
}